/*
 * @Author: HeAo
 * @Date: 2022-09-16 09:38:15
 * @LastEditTime: 2022-09-16 15:32:00
 * @LastEditors: HeAo
 * @Description: 
 * @FilePath: \第二阶段\ES6\day04迭代器\1-迭代器.js
 * 别乱动！
 */

let obj = {
  name: 'zhangsan',
  age: 12
}
// 1、es6遍历对象
console.log(Object.keys);


// 2、es6遍历数组
var arr = [1, 2, 3, 4]
// console.log(arr.keys()); //Object [Array Iterator] {}
// console.log(arr.values());
// console.log(arr.entries());
// 2.1、for
// 2.2、for-of
// for (let k of arr) {
//   console.log(k); //值
// }
// 2.3、for-in
// for (let k in arr) {
//   console.log(k);
// }
// 2.4forEach()
// 2.5map()
// 2.6filter()

// 3、字符串实现了迭代器接口 可以使用for of遍历  对象不可以for  of 只能for in
let str = 'hello'
// 3.1、for-in：k拿下标
for (let k in str) {
  console.log(str[k]);
}
// 3.2、for-of: k拿值
for (let k of str) {
  console.log(k);
}
// 3.3、解构变数组+for遍历
let [...a] = str;
console.log(a)
// 3.4、split("")变数组+for遍历
let result = str.split("")
console.log(result);
for (i = 0; i < str.length; i++) {
  console.log(str.charAt(i))
}